public class RandomBounds {
    public static void main(String[] args) {
        new TimedAbort(3);
        switch (args.length == 0 ? "" : args[0]) {
            case "lower":
                while (Math.random() != 0.0) {
                    ;
                }
                System.out.println("Produced 0.0");
                break;
            case "upper":
                while (Math.random() != 1.0) {
                    ;
                }
                System.out.println("Produced 1.0");
                break;
            default:
                System.out.println("Math.random() can't produce 0.0 or 1.0");
        }
    }
}

/*
Math.random() 使用的是伪随机数生成器，其结果是基于 double 浮点精度的。
虽然理论上可以生成 0.0，但概率非常小（大约 1/(2^53)），所以在实际运行中几乎看不到。
它永远不会返回 1.0，因为返回值总是 小于 1.0。
 */
